package com.lins.framework.utils.down.network;

import okhttp3.ResponseBody;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.Headers;
import retrofit2.http.Streaming;
import retrofit2.http.Url;
import rx.Observable;

/**
 * Created by Administrator on 2018/1/25.
 */

public interface DownloadService {

    /*  最近在使用OKhttp下载文件的时候出现了一个奇怪的现象，responsebody.contentLength()获取到的值为-1
        经常抓包分析，发现服务器会随机的对下发的资源做GZip操作，而此时就没有相应的content-length，
        解决方法很简单，在Header中加入：Request.Builder().addHeader("Accept-Encoding", "identity")
        这样强迫服务器不走压缩，问题就得到了解决。*/
    @Streaming
    @GET
    @Headers("Accept-Encoding:identity")
    Observable<ResponseBody> download(@Url String url);
}
